﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace CityGames
{
    public partial class NuevaNoticia : System.Web.UI.Page
    {
        ENNoticia noticia;
        protected void Page_Load(object sender, EventArgs e)
        {
            noticia = new ENNoticia();
            try
            {
                string tipoUsuario = Convert.ToString(Session["tipoUsuario"]);
                if (tipoUsuario != "AdministradorWeb")
                {
                    // Redireccionar (no es administrador web)
                    Response.Redirect("Home.aspx");
                }
            }
            catch
            {
                MyMessageBoxInfo.Show(MyMessageBox.MessageType.Error, "Ha ocurrido un error. Disculpen las molestias", "ERROR", 200, 300);
            }
        }
        protected void btPublicar_Click(object sender, EventArgs e)
        {
            try
            {
                string titulo = tbTitulo.Text;
                string subtitulo = tbSubtitulo.Text;
                string idCreador = Convert.ToString(Session["usuario"]);
                string idPlataforma = ddlPlataforma.SelectedValue;
                string idJuego = tbJuego.Text;

                if (titulo != "" && subtitulo != "" && tbContenido.Text != "")
                {
                    if (System.IO.Path.GetExtension(fuImagenBanner.FileName) == ".jpg" && System.IO.Path.GetExtension(fuImagenLista.FileName) == ".jpg")
                    {
                        noticia.NuevaNoticia(titulo, subtitulo, idCreador, idPlataforma, idJuego);

                        int id = noticia.UltimoID();

                        string rutaBanner = Server.MapPath("./BannerNoticias/" + id + ".jpg");
                        fuImagenBanner.SaveAs(rutaBanner);
                        string rutaLista = Server.MapPath("./ImagenListaNoticia/" + id + ".jpg");
                        fuImagenLista.SaveAs(rutaLista);

                        string fichero = Server.MapPath("./Noticias/" + id + ".txt");

                        // segundo parametro false para que sobrescriba, no acumule
                        using (StreamWriter streamWriter = new System.IO.StreamWriter(fichero, false, System.Text.Encoding.Default))
                        {
                            streamWriter.WriteLine(tbContenido.Text);
                        }

                        Response.Redirect("ListaNoticias.aspx?pl=" + idPlataforma);
                    }
                    else
                        MyMessageBoxInfo.Show(MyMessageBox.MessageType.Error, "Ha ocurrido un error al comprobar el formato de las fotos.", "ERROR", 200, 300);
                }
                else
                    MyMessageBoxInfo.Show(MyMessageBox.MessageType.Error, "Ha ocurrido un error al validar los datos en el servidor.", "ERROR", 200, 300);
            }
            catch
            {
                MyMessageBoxInfo.Show(MyMessageBox.MessageType.Error, "Ha ocurrido un error. Disculpen las molestias", "ERROR", 200, 300);
            }
        }
    }
}